﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Media;

namespace Kokomo.Environment.Extensibility
{
	/// <summary>
	/// Provides functionality for a generic tool.
	/// </summary>
	/// <remarks>
	/// This interface allows an extension to expose a tool.
	/// The environment displays the tool in the user interface.
	/// </remarks>
	public interface ITool
	{
		/// <summary>
		/// Get the name of the tool.
		/// </summary>
		UiString Name { get; }
		/// <summary>
		/// Gets the icon representing the tool.
		/// </summary>
		ImageSource IconSource { get; }
		/// <summary>
		/// Activates the tool.
		/// </summary>
		/// <remarks>
		/// The host calls this method when the user activates the tool.
		/// </remarks>
		void Activate();
	}
}
